const done = true;
const done1 = true;
const p1 = new Promise((resolve, reject) => {
  if (done) {
    resolve("nihao");
  } else {
    reject("错误");
  }
});
const p2 = new Promise((resolve, reject) => {
  if (done1) {
    resolve("大哥");
  } else {
    reject("小弟");
  }
});
// p1.then((res) => {
//   console.log(res);
// })
//   .catch((err) => {
//     console.log(err);
//   })
//   .finally(() => {
//     console.log(123);
//   });

// Promise.all([p1, p2])
//   .then((res) => {
//     console.log(res);
//   })
//   .catch((err) => {
//     console.log(err);
//   });

const all = (arr) => {
  return new Promise((resolve, reject) => {
    let newArr = [];
    arr.forEach((item) => {
      item
        .then((res) => {
          newArr.push(res);
          if (arr.length === newArr.length) {
            resolve(newArr);
          }
        })
        .catch((err) => {
          reject(err);
        });
    });
  });
};

all([p1, p2]).then((res) => {
  console.log(res);
});
